package com.netcracker.lab1.model;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.math.BigInteger;

/**
 * Created with IntelliJ IDEA.
 * User: nocturne
 * Date: 09.01.13
 * Time: 17:31
 * To change this template use File | Settings | File Templates.
 */
public abstract class AbstractMusicTrackManager {

    protected AbstractMusicTrackManager(){};
    private static MusicTrackManager musicTrackManager = new MusicTrackManager();

    public static AbstractMusicTrackManager getInstance(String source) {
        return musicTrackManager;
    }

    public abstract MusicTrack createMusicTrack(Integer id, String title, String author, String album, Integer genre, int duration) throws NullPointerException;
    public abstract MusicTrack findTrackById(Integer id);
    public abstract MusicTrack getIdByTrackName(String author, String title);
    public abstract void deleteTrackInLibraryById(int id);
    public abstract void saveMusicTrack(String path) throws FileNotFoundException, IOException;
    public abstract void openMusicTrack(String path) throws FileNotFoundException, IOException, ClassNotFoundException;
    public abstract void editMusicTrack(Integer id, String title, String author, String album, Integer genre, int duration);
    public abstract int getSizeLibrary();



}
